def GetSurDerivat(u:float, v:float, urank:int, vrank:int, mark:int, SCs:[list,list,list,...], Ps:[int,int]):
    '''
        功能：计算参数多项式曲面上点(u,v)处的(urank,vrank)阶偏导矢。
        输入参数：u,v-参数点；
                  urank,vrank-偏导矢阶数；
                  mark-视图标识码，1,2,3-分别表示主、俯、右视图。
                  SCs-幂基参数多项式曲面的系数矢量。
                  Ps-分别为沿u、v数据点数。
        调用函数：Get2DCuvDerivat-计算二维幂基多项式曲线导矢。
        输出参数：pv-偏导矢在mark表示的视图内的两分量。若urank=vrank=0，即为曲面上的点(u,v)。
    '''
    uCs = [None]*Ps[0]; vCs = [None]*Ps[1]
    for j in range(Ps[0]):
        for i in range(Ps[1]):
            if mark == 1: # (x,z)
                vCs[i] = [SCs[i][j][0], SCs[i][j][2]]
            elif mark == 2: # (x,y)
                vCs[i] = [SCs[i][j][0], SCs[i][j][1]]
            elif mark == 3: # (y,z)
                vCs[i] = [SCs[i][j][1], SCs[i][j][2]]
        uCs[j] = Get2DCuvDerivat(vrank, v, vCs)
    pv = Get2DCuvDerivat(urank, u, uCs)
    return pv


if __name__ == '__main__':
    ...